/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Beans;

import conexion.Coneccion;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Vector;

/**
 *
 * @author USUARIO
 */
public class ModSeg_Pagina {
    
    private Integer id;
    private boolean estado;
    private String imagen;
    private int indice;
    private String nombre;
    private String url;
    private Integer modulo_id;

    public ModSeg_Pagina() {
    }

    public long getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public boolean getEstado() {
        return estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }

    public String getImagen() {
        return imagen;
    }

    public void setImagen(String imagen) {
        this.imagen = imagen;
    }

    public int getIndice() {
        return indice;
    }

    public void setIndice(int indice) {
        this.indice = indice;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public long getModulo_id() {
        return modulo_id;
    }

    public void setModulo_id(Integer modulo_id) {
        this.modulo_id = modulo_id;
    }   
    
    
    public ArrayList<ModSeg_Pagina> listarPaginas(Integer modulo_id)
    {   ArrayList<ModSeg_Pagina> listaP = new ArrayList<ModSeg_Pagina>();
        CallableStatement ps = null;
        ResultSet rs = null;
        Connection cn = Coneccion.getConexion();
        try
        {   
            ps = cn.prepareCall("SELECT *  FROM view_pas_formulario_listar_formulario where fk_idmodulo = ? order by indice");
            ps.setInt(1, modulo_id);
            rs = ps.executeQuery();
            while(rs.next())
            {   ModSeg_Pagina p = new ModSeg_Pagina();
                p.setId(rs.getInt(1));
                p.setNombre(rs.getString(2));
                p.setModulo_id(rs.getInt(3));
                p.setEstado(rs.getBoolean(4));
                p.setIndice(rs.getInt(5));                
                p.setUrl(rs.getString(6));                
                listaP.add(p);
            }
            Coneccion.cerrarCall(ps);
            Coneccion.cerrarConexion(cn);
        } catch(SQLException e)
        {   e.printStackTrace();
            Coneccion.cerrarCall(ps);
            Coneccion.cerrarConexion(cn);
        } catch(Exception e)
        {   e.printStackTrace();
            Coneccion.cerrarCall(ps);
            Coneccion.cerrarConexion(cn);
        }finally {
            try {
                rs.close();
                ps.close();
                cn.close();
            } catch (Exception ex) {
            }
        }           
       return listaP;
    }
    
    
      public static Vector<ModSeg_Pagina> obtenerVecSce_Paginas_uno(int id_usuario, int id_modulo) {
        Vector<ModSeg_Pagina> vecPer = new Vector<ModSeg_Pagina>();
        try {
            Connection con = Coneccion.getConexion();
            
            PreparedStatement pst;
            ResultSet rs;
            

             pst = con.prepareStatement("select distinct fk_idpagina, pagina, url, orden from view_pas_perfil_listar_perfil per left join view_pas_rolxformulario_listar_rolxformulario fxp on fxp.id_rol=per.idrol where id_usuario="+id_usuario+" and fk_idmodulo="+id_modulo+"  order by orden");


            rs = pst.executeQuery();
            while (rs.next()) {
                     ModSeg_Pagina fxp = new ModSeg_Pagina();
                     fxp.setId(rs.getInt(1));
                     fxp.setNombre(rs.getString(2));
                     fxp.setUrl(rs.getString(3));
                
                vecPer.add(fxp);
            }
            rs.close();
            pst.close();
            con.close();
        } catch (Exception ex) {
            System.out.println(ex);
        }
        return vecPer;
    }
    
}
